<?php

/**
 * Controlardor de gestión de competiciones
 *
 */
class controlador_competiciones {

    /**
     * Método para mostrar los datos del equipo
     */
    public function ver_competicion() {
        $obj_competicion = new Competicion();
        if (!$param_competicion = $obj_competicion->get($_GET['id'])) {
            header('location:../home');
        }

        require 'app/views/ver_competicion.php';
    }
    
    /**
     * Método para mostrar las competiciones
     */
    public function ver_competiciones() {
        $obj_competicion = new Competicion();
        $params_competiciones = $obj_competicion->obtener_todas_competiciones();

        require 'app/views/listado_competiciones.php';
    }

    /**
     * Método para registrar una competición
     */
    public function registrar() {
        if ($_SERVER['REQUEST_METHOD'] == 'POST') {
            $obj_competicion = new Competicion();

            //Limpiamos los campos y los guardamos en variables
            $nombre = test_input($_POST['nombre']);
            $pais = test_input($_POST['pais']);
            $imagen = $_FILES["imagen"]["name"];
            $bote_competicion = test_input($_POST['bote_competicion']);
            $prioridad = test_input($_POST['prioridad']);

            $error = false;
            // MIME types permitidos
            $mime = array('image/jpg', 'image/jpeg', 'image/gif', 'image/png');
            // Buscamos si el archivo que subimos tiene el MIME type que permitimos en nuestra subida
            if (!in_array($_FILES['imagen']['type'], $mime)) {
                $error = true;
            }
            // Le decimos al usuario que se olvido de subir un archivo
            if ($_FILES['imagen']['type'] == '') {
                $error = true;
            }
            // Indicamos hasta que peso de archivo puede subir el usuario.
            if ($_FILES['imagen']['size'] > '2097152') {
                $error = true;
            }

            if (!empty($nombre) && !empty($imagen) && (!$error) && !empty($pais)) {

                $i = 1;
                while (file_exists("../betporra/web/images/competiciones/$imagen")) {
                    $imagen = "($i)" . $_FILES["imagen"]["name"];
                    $i++;
                }

                $array_datos = array(
                    "nombre" => $nombre,
                    "pais" => $pais,
                    "imagen" => $imagen,
                    "bote_competicion" => $bote_competicion,
                    "prioridad" => $prioridad
                );

                $obj_competicion->set($array_datos);
                $ultimo_id = $obj_competicion->get_last_id();

                move_uploaded_file($_FILES["imagen"]["tmp_name"], "../betporra/web/images/competiciones/$imagen");

                $_SESSION['adminbetporra_msj'] = 'Competición registrada correctamente.';
                header("location:ver_competicion/$ultimo_id");
            } else {
                $_SESSION['adminbetporra_msj'] = 'No se han introducido todos los datos correctamente.';
                header('location:registro_competicion');
            }
        } else {
            require 'app/views/registro_competicion.php';
        }
    }

    /**
     * Formulario para editar competicion
     */
    public function editar() {
        if ($_SERVER['REQUEST_METHOD'] == 'POST') {
            $obj_competicion = new Competicion();

            //Limpiamos los campos y los guardamos en variables
            $nombre = test_input($_POST['nombre']);
            $pais = test_input($_POST['pais']);
            $bote_competicion = test_input($_POST['bote_competicion']);
            $prioridad = test_input($_POST['prioridad']);
            $id = $_GET['id'];

            $array_datos = array(
                "id" => $id,
                "nombre" => $nombre,
                "pais" => $pais,
                "bote_competicion" => $bote_competicion,
                "prioridad" => $prioridad
            );

            $obj_competicion->edit($array_datos);
            $_SESSION['adminbetporra_msj'] = 'Competición modificada correctamente.';
            header("location: ../ver_competicion/$id");
        } else {
            $obj_competicion = new Competicion();
            if (!$obj_competicion->get($_GET['id'])) {
                header('location:../competiciones');
            } else {
                require 'app/views/modificar_competicion.php';
            }
        }
    }

}

?>